/*
 * @Author: 橘子
 * @Date: 2023-06-07 8:21
 * @Project_description: 模板配置
 * @Description: 代码是我抄的，不会也是真的
 */
'use strict'

/**
 * @Description: treePage页面
 * @author 橘子
 * @date 2023-06-07
 */
  const tree=(data)=>{
    return [
      //index
      {
        type: 'add',
        path: 'src/views/{{path}}/{{name}}/index.js',
        templateFile: 'plop-templates/template/index.hbs',
        skipIfExists:true,
        data: data,
      },
      //treePage页面
      {
        type: 'add',
        path: 'src/views/{{path}}/{{name}}/page.vue',
        templateFile: 'plop-templates/template/treePage/treePage.hbs',
        skipIfExists:true,
        data: data,
      },
      // tree组件
      {
        type: 'add',
        path: 'src/views/{{path}}/{{name}}/page/tree.vue',
        templateFile: 'plop-templates/template/treePage/tree.hbs',
        skipIfExists:true,
        data: data,
      },
      // table组件
      {
        type: 'add',
        path: 'src/views/{{path}}/{{name}}/page/table.vue',
        templateFile: 'plop-templates/template/treePage/table.hbs',
        skipIfExists:true,
        data: data,
      },
      // add组件
      {
        type: 'add',
        path: 'src/views/{{path}}/{{name}}/components/add.vue',
        templateFile: 'plop-templates/template/treePage/add.hbs',
        skipIfExists:true,
        data: data,
      },
      // vuex
      {
        type: 'add',
        path: 'src/store/modules/tree/modules/{{name}}.js',
        templateFile: 'plop-templates/template/treePage/vuex.hbs',
        skipIfExists:true,
        data: data,
      },
    ]
}



const table=(data)=>{
    return [
      //index
      {
        type: 'add',
        path: 'src/views/{{path}}/{{name}}/index.js',
        templateFile: 'plop-templates/template/index.hbs',
        skipIfExists:true,
        data: data,
      },
      //page页面
      {
        type: 'add',
        path: 'src/views/{{path}}/{{name}}/page.vue',
        templateFile: 'plop-templates/template/page/page.hbs',
        skipIfExists:true,
        data: data,
      },
      //添加页面
      {
        type: 'add',
        path: 'src/views/{{path}}/{{name}}/components/add.vue',
        templateFile: 'plop-templates/template/add.hbs',
        skipIfExists:true,
        data: data,
      },
    ]
}


/**
 * @Description: 路由文件
 * @author 橘子
 * @date 2023-06-07
 */
  const devRouter=(data)=>{
    return {
      type: 'modify', // 代表替换文件
      path: 'src/router/system/devRouter.js', // 被添加的文件在输出的哪个路径，双花括号插值表达式可以获取交互得到的数据
      pattern: /(\/\/ -- Append route --)/gi, //替换字符串正则
      templateFile: 'plop-templates/template/router/{{pageType}}Router.hbs', // 模板文件是什么
      skipIfExists:true,
      data:data
    }
}

const prodRouter=(data)=>{
  return {
    type: 'modify', // 代表替换文件
    path: 'src/router/routes.js', // 被添加的文件在输出的哪个路径，双花括号插值表达式可以获取交互得到的数据
    pattern: /(\/\/ -- Append route --)/gi, //替换字符串正则
    templateFile: 'plop-templates/template/router/{{pageType}}Router.hbs', // 模板文件是什么
    skipIfExists:true,
    data:data
  }
}


/**
 * @Description: api文件
 * @author 橘子
 * @date 2023-06-07
 */
  const api=(data)=>{
    return {
      type: 'add', // 代表添加文件
      path: 'src/api/module/{{name}}.api.js', // 被添加的文件在输出的哪个路径，双花括号插值表达式可以获取交互得到的数据
      templateFile: 'plop-templates/template/api/{{serve}}api.hbs', // 模板文件是什么
      skipIfExists:true,
      data: data
    }
}


module.exports={
  tree,
  table,
  devRouter,
  prodRouter,
  api
}
